package scau.hotel.hotel_service.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * (Payment)实体类
 *
 * @author makejava
 * @since 2022-03-28 20:19:16
 */
public class Payment implements Serializable, Cloneable{
    private static final long serialVersionUID = 587639888182182434L;
    /**
     * 支付id
     */
    private Integer paymentId;
    /**
     * 流水号
     */
    private String serialNo;
    /**
     * 入住明细id
     */
    private Integer checkinInforId;
    /**
     * 费用：押金或房费
     */
    private BigDecimal amount;
    /**
     * 支付时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd hh:mm:ss")
    private Date payDate;
    /**
     * 支付方式
     */
    private String payWay;
    /**
     * 费用标志：1表示房费，0表示押金
     */
    private Integer flag;
    /**
     * 状态
     */
    private String status;
    /**
     * 备注
     */
    private String remark;
    /**
     * 删除标志：1表示存在，0表示删除
     */
    private Integer delFlag;


    public Integer getPaymentId() {
        return paymentId;
    }

    public void setPaymentId(Integer paymentId) {
        this.paymentId = paymentId;
    }

    public Integer getCheckinInforId() {
        return checkinInforId;
    }

    public void setCheckinInforId(Integer checkinInforId) {
        this.checkinInforId = checkinInforId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Date getPayDate() {
        return payDate;
    }

    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }

    public String getPayWay() {
        return payWay;
    }

    public void setPayWay(String payWay) {
        this.payWay = payWay;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public String getSerialNo() {
        return serialNo;
    }

    public void setSerialNo(String serialNo) {
        this.serialNo = serialNo;
    }

    @Override
    public Object clone() {
        Payment payment = null;
        try{
            payment = (Payment)super.clone();
        }catch(CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return payment;
    }

}

